package com.chen.base.module.log.dto;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @author ChenJinLong
 * @date 2023/6/25
 * <p>
 * 日志查询传输对象
 */
@Data
@ApiModel(value = "日志查询对象")
public class AccessLogDTO {

	/**
	 * 编号
	 */
	@ExcelProperty("日志编号")
	@ApiModelProperty("日志编号")
	private Long id;

	/**
	 * 日志类型
	 */
	@ExcelProperty("日志类型（0-正常 9-错误）")
	@ApiModelProperty("日志类型")
	private String type;

	/**
	 * 日志标题
	 */
	@ExcelProperty("日志标题")
	@ApiModelProperty("日志标题")
	private String title;

	/**
	 * 操作IP地址
	 */
	@ExcelProperty("IP")
	@ApiModelProperty("操作ip地址")
	private String remoteAddr;

	/**
	 * 用户浏览器
	 */
	@ExcelProperty("浏览器类型")
	@ApiModelProperty("用户代理")
	private String userAgent;

	/**
	 * 请求URI
	 */
	@ExcelProperty("请求URI")
	@ApiModelProperty("请求uri")
	private String requestUri;

	/**
	 * 操作方式
	 */
	@ExcelProperty("操作方式")
	@ApiModelProperty("操作方式")
	private String method;

	/**
	 * 操作提交的数据
	 */
	@ExcelProperty("请求参数")
	@ApiModelProperty("数据")
	private String params;

	/**
	 * 执行时间: 单位(毫秒)
	 */
	@ExcelProperty("方法执行时间: 单位(毫秒)")
	@ApiModelProperty("方法执行时间: 单位(毫秒)")
	private Long time;

	/**
	 * 异常信息
	 */
	@ExcelProperty("异常信息")
	@ApiModelProperty("异常信息")
	private String exception;

	/**
	 * 服务ID
	 */
	@ExcelProperty("应用标识")
	@ApiModelProperty("应用标识")
	private String serviceId;

	/**
	 * 删除标记
	 */
	@ExcelIgnore
	private String delFlag;

	/**
	 * 创建者
	 */
	@ApiModelProperty("创建人")
	private String createBy;

	/**
	 * 创建时间
	 */
	@ApiModelProperty("创建时间")
	private LocalDateTime createTime;

	/**
	 * 更新者
	 */
	@ApiModelProperty("更新人")
	private String updateBy;

	/**
	 * 更新时间
	 */
	@ApiModelProperty("更新时间")
	private LocalDateTime updateTime;

}
